package cn.cuilan.other;

/**
 * 题目：
 * 你需要创建一个 Java 类，名为 NumberManipulator，它包含以下方法：
 * findMax(int arr[])：这个方法接收一个整型数组 arr，返回数组中的最大值。
 * findMin(int arr[])：这个方法接收一个整型数组 arr，返回数组中的最小值。
 * findAverage(int arr[])：这个方法接收一个整型数组 arr，返回数组中所有元素的平均值（小数形式）。
 * 请编写 NumberManipulator 类，并实现上述三个方法。
 *
 * @author zhangyan
 * @since 2023/11/22
 */
public class NumberManipulator {

    /**
     * 接收一个整型数组 arr，返回数组中的最大值
     *
     * @param arrays 整型数组
     * @return 返回数组中的最大值
     */
    public static int findMax(int[] arrays) {
        if (arrays == null) {
            return 0;
        }
        int max = arrays[0];
        for (int number : arrays) {
            if (number > max) {
                max = number;
            }
        }
        return max;
    }

    /**
     * 接收一个整型数组 arr，返回数组中的最小值
     *
     * @param arrays 整型数组
     * @return 返回数组中的最小值
     */
    public static int findMin(int[] arrays) {
        if (arrays == null) {
            return 0;
        }
        int min = arrays[0];
        for (int number : arrays) {
            if (number < min) {
                min = number;
            }
        }
        return min;
    }

    /**
     * 接收一个整型数组 arr，返回数组中所有元素的平均值（小数形式）
     *
     * @param arrays 整型数组
     * @return 返回数组中所有元素的平均值（小数形式）
     */
    public static double findAverage(int[] arrays) {
        if (arrays == null) {
            return 0;
        }
        int length = arrays.length;
        double total = 0;
        for (int number : arrays) {
            total += number;
        }
        return total / length;
    }

    public static void main(String[] args) {
        System.out.println(findMax(new int[]{3, 5, 2, 8, 45, 9}));
        System.out.println(findMin(new int[]{3, 5, 2, 8, 45, 9}));
        System.out.println(findAverage(new int[]{3, 5, 2, 8, 44, 9}));
    }

}
